/**
* Copyright (c) 2012-2013 Nokia Corporation. All rights reserved.
* Nokia and Nokia Connecting People are registered trademarks of Nokia Corporation. 
* Oracle and Java are trademarks or registered trademarks of Oracle and/or its
* affiliates. Other product and company names mentioned herein may be trademarks
* or trade names of their respective owners. 
* See LICENSE.TXT for license information.
*/

package com.nokia.example.explonoid;

import javax.microedition.lcdui.Display;
import javax.microedition.midlet.MIDlet;

import com.nokia.mid.ui.VirtualKeyboard;
/**
 * Main MIDlet.
 */
public class Main
    extends MIDlet
{
    private ExplonoidCanvas gameView;
    private static Main self;

    public static Main getInstance() {
        return self;
    }

    protected void startApp() {
        self = this;
        if (gameView == null) {
            this.gameView = new ExplonoidCanvas(this);
        }
        
        if (isFullTouchDevice()) {
            VirtualKeyboard.hideOpenKeypadCommand(true);
            VirtualKeyboard.suppressSizeChanged(true);
        }

        Display.getDisplay(this).setCurrent(gameView);
    }

    protected void pauseApp() {
    }

    protected void destroyApp(boolean unconditional) {
        if (gameView != null) {
            gameView.saveGame();
        }
    }

    public void exit() {
        destroyApp(true);
        notifyDestroyed();
    }

    public static boolean isFullTouchDevice() {
        final String keyboard = System.getProperty("com.nokia.keyboard.type");
        
        if (keyboard != null
            && (keyboard.equalsIgnoreCase("OnekeyBack")
                || keyboard.equalsIgnoreCase("None")))
        {
            return true;
        }
        
        return false;
    }
}
